/* 
type 类型设置：
1. editor 编辑器
2. textarea 文本域
3. input 输入框
4. select 选择器
5. colorSelect 颜色选择器
6. colorPicker 颜色选择器
7. gradual 渐变设置
8. inputNumber 数字输入框
9. radio 单选框
10. switch 开关切换
11. slider 滑块
12. appendPadding 添加边距
*/
/* 
分类归属
  basic: '基础',
  position: '位置',
  graph: '图表',
  grid: '网格线',
  legend: '图例',
  xAxis: 'X轴',
  yAxis: 'Y轴',
  series: '系列',
  padding: '边距',
  appendPadding: '内边距',
  polar:'极坐标系',
  other: '其他',
*/
import { merge } from 'lodash';
import {
  getGrid,
  getTitleUnit,
  getTooltip,
  getXAxis,
  getYAxis,
} from './settingBase';

const opt = {
  setting: [
    // 设置echarts 位置
    ...getGrid('set'),
    // 设置echarts 单位
    ...getTitleUnit('set'),
    // tooltip 设置
    ...getTooltip('set'),
    // x轴设置
    ...getXAxis('set'),
    // y轴设置
    ...getYAxis('set'),
  ],
  option: {
    // 数据将要放入到哪个字段中
    dataKey: 'data',
    data: [],
    style: {
      ...getTitleUnit('data'),
      tooltip: {
        ...getTooltip('data'),
      },
      grid: {
        ...getGrid('data'),
      },
      x: {
        ...getXAxis('data'),
      },
      y: {
        ...getYAxis('data'),
      },
    },
  },
};

export { opt };

export default function getSettingAndData(otherSetting = [], otherOption = []) {
  let { setting, option } = opt;
  const commonConfig = setting.concat(otherSetting);
  const commonData = merge({}, option, otherOption);
  return { setting: commonConfig, optionData: commonData };
}
